package lang

import gui.CONST
import gui.Layout
import java.io.File
import java.io.FileInputStream
import java.io.FileWriter
import java.util._

/**
 * Dieses Objekt laed die wichtigsten Einstellungen
 * aus der Einstellungsdatei CONST.CONFIG_FILE.
 * Fuer den Fall das die Einstellungsdatei nicht
 * exisitiert werden Standardwerte gesetzt.
 */

object LOC {
  
  var conffile = new File(CONST.CONFIG_FILE)
  var prop = new Properties()
  if(conffile.exists) {
    var fis = new FileInputStream(CONST.CONFIG_FILE)
    prop.load(fis)
  }
  else {
    val dir = System.getProperty("user.dir")
    var root = new File(dir)
    prop.setProperty("filePath", root.getName)
    prop.setProperty("language", "de")
    prop.setProperty("printsize", "10")
    prop.setProperty("tracesteps", "1000")
    prop.store(new FileWriter(conffile), null)
  }
  var currentlang = prop.getProperty("language")
  Layout.printsize = prop.getProperty("printsize").toInt
  Layout.tracesteps = prop.getProperty("tracesteps").toInt
  Layout.currentlang = currentlang
  var currentlocale = new Locale(currentlang)
  var filePath = prop.getProperty("filePath")
  if(filePath == null) {
    filePath = System.getProperty("user.dir")
  }
    
  var lang = ResourceBundle.getBundle("lang.lang", currentlocale)

  def setLang(currentlocale: Locale) : Unit = {
    lang = ResourceBundle.getBundle("lang.lang", currentlocale)
  }
  
  def get(ident: String): String = lang.getString(ident)
  
}


 